package java44th.group.mapper;

import java.util.LinkedList;
import java.util.List;

import java44th.group.bean.admin.bo.role.PermissionsBo;
import java44th.group.bean.json.SystemPermissionsDTO;
import java44th.group.bean.po.MarketAllPermission;
import java44th.group.bean.po.MarketPermission;
import java44th.group.bean.po.MarketRole;
import java44th.group.bean.po.MarketRoleExample;
import java44th.group.bean.admin.vo.role.RoleVo;
import org.apache.ibatis.annotations.Param;

public interface MarketRoleMapper {
    Integer countByExample(MarketRoleExample example);

    int deleteByExample(MarketRoleExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(MarketRole row);

    int insertSelective(MarketRole row);

    List<MarketRole> selectByExample(MarketRoleExample example);

    MarketRole selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("row") MarketRole row, @Param("example") MarketRoleExample example);

    int updateByExample(@Param("row") MarketRole row, @Param("example") MarketRoleExample example);

    int updateByPrimaryKeySelective(MarketRole row);

    int updateByPrimaryKey(MarketRole row);

    LinkedList<MarketRole> selectAllRoleData(String name);

    Integer countByName(String name);

    Integer selectByName(String name);

    void update(MarketRole marketRole);

    LinkedList<RoleVo> selectAllRole();

    Integer selectRoleData(String name);

    String selectNameById(Integer id);

    LinkedList<String> selectPermissionByRoleId(Integer roleId);

    LinkedList<SystemPermissionsDTO> selectAllPermission();

    LinkedList<String> selectPermissionsBoByRoleid(Integer roleId);

    void deleteRolePermisssionnByRoleId(Integer roleId);

    void deleteRolePermisssionnByRoleIdAndPermission(@Param("roleId") Integer roleId,@Param("s") String s);

    void insertRolePermisssionnByRoleId(@Param("m") MarketPermission marketPermission);

}